P-logic: property verification for Haskell programs

نویسنده

  • Richard B. Kieburtz
چکیده

Proof-supported logical verification of program properties has been a topic of research interest for more than 30 years. The feasibility of proof construction as a verification technique has been demonstrated through many examples of its application, yet it remains a technique rarely used in practice for a variety of reasons, both technical and sociological. The lack of verification logics for modern programming languages remains a strong deterrent to the use of proof-supported verification. This paper introduces P-logic, a verification logic for Haskell. P-logic is a modal mu-calculus that supports direct expression of recursively-defined properties of complex data structures. The term language of P-logic is Haskell. Logical assertions expressed in P-logic can be interleaved among definitions in a Haskell program text and can incorporate term variables bound in the program context. Properties of finite and infinite data structures can be expressed. The paper describes syntax, proof rules, and semantics of P-logic and provides a few examples of its use.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Programmed Strategies for Program Verification

Plover is an automated property-verifier for Haskell programs that has been under development for the past three years as a component of the Programatica project. In Programatica, predicate definitions and property assertions written in P-logic, a programming logic for Haskell, can be embedded in the text of a Haskell program module. Properties refine the type system of Haskell but cannot be ve...

متن کامل

Programming logics - an introduction to verification and semantics

The best ebooks about Programming Logics An Introduction To Verification And Semantics that you can get for free here by download this Programming Logics An Introduction To Verification And Semantics and save to your desktop. This ebooks is under topic such as programs: semantics and verification springer p-logic: property verià ̄¥cation for haskell programs logic, semantics and verification ...

متن کامل

Reflecting Demand in Programming Logics: a case study for Haskell

Haskell is a functional programming language whose evaluation is lazy by default. However, Haskell also provides pattern matching facilities which add a modicum of eagerness to its otherwise lazy default evaluation. This mixed or “non-strict” semantics can be quite difficult to reason with. This paper introduces a programming logic, P-logic, which neatly formalizes the mixed evaluation in Haske...

متن کامل

Automated Termination Analysis: From Term Rewriting to Programming Languages

Termination is a crucial property of programs. Therefore, techniques to analyze termination automatically are highly important for program verification. Traditionally, techniques for automated termination analysis were mainly studied for declarative programming paradigms such as logic programming and term rewriting. However, in the last years, several powerful techniques and tools have been dev...

متن کامل

The logic of demand in Haskell

Haskell is a functional programming language whose evaluation is lazy by default. However, Haskell also provides pattern matching facilities which add a modicum of eagerness to its otherwise lazy default evaluation. This mixed or “non-strict” semantics can be quite difficult to reason with. This paper introduces a programming logic, P-logic, which neatly formalizes the mixed evaluation in Haske...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002